
We will together create a development plan for the rust port of padz app.

The ./PADZ.md file has a very detailed explanation of how the program works. 
So we will break this down in phases and milestones so that the full work can be correctly done on a series of small , incremental tasks .


The CRITICAL point is : the program needs to be a full rust api, that is shell agnostic as it will be used in servers and other contests.
In my experience the only way to achieve this is to : 

1. First build a rust lib, that has an api.rs .
This api aggregates all user level tasks (create a pad, view one, copy one, delete one, search padz, pin , list, etc)
In this lib there is no shell, it's all regular data structures. The only specificity is that most of this will have a common return type, like a Result type that has a status, a message and a list of pads . Where one or more might be highlighted..
2. Abstract the Data Store

The store where the pads are kept (an infile, json meta based and text base file for each padz) should be abstracted in a common interface that tests use etc.  The goal here is to have almost all the logic working with testable pure functions and only dealing with actual io at the edgest (user input of final save.)


When the full app works, we will implement  the actual command line on top.
Task: lets plan the execution.

From the PADZ.md file and these ordering, what plan could we make to creating a robust padz that follows these guidelines? Create the plan, having significant high level milestones / phases. Once we are in agreement to the plan, you can begin to do it.

IT's critical that the code is very well unitested at each step.

